Text-messaging based coaching programs

ABSTRACT

Technology is directed to an interactive text message based coaching program (“the technology”). A user enrolled in a campaign interacts with a server to obtain guidance on performing a set of tasks of the campaign to achieve a health goal. The user interacts with the server via text messages using a mobile computing device. After the health goal of the user is identified, the server generates text messages having information related to the campaign. The text messages are generated based on the health goal for the user, and are customized for the user. The server sends the text messages to the user in a sequence, wherein a next text message of the sequence sent to the user is based on a response received from the user for a previous text message of the sequence.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No.14/220,901, entitled “TEXT-MESSAGING BASED COACHING PROGRAMS” filed onMar. 20, 2014, which is incorporated by reference herein in itsentirety.

TECHNICAL FIELD

At least one embodiment of the technique introduced here relates to textmessaging campaigns, and more particularly, to interactive textmessaging campaigns.

BACKGROUND

A campaign program is a plan to achieve an objective, usually over anextended period of time. The campaign program usually coordinates manyactivities and uses of resources involving multiple organizations. Acampaign program can also have subordinate objectives or intermediatemilestones and is often broken down by phases. Campaign programs areoften created for health care services, financial services, and otherareas. A health campaign program, for example, can be conducted foroffering guidance on various health related topics such as weight loss,a workout routine, etc. A finance campaign program can be conducted, forexample, to offer guidance on finance related topics such asinvestments, saving a percentage of monthly income, etc. Traditionalcampaign programs are typically conducted using media such as email,telephone, print media and television.

Current campaign programs are typically targeted to a general audience,even though they may be intended for only a specific group of people whomay be interested in a particular campaign. Further, the campaignprograms are typically not customized to specific individuals.Consequently, such campaigns are not very effective because they fail totarget the right group of individuals and because they are not relevantto every individual. For example, a health campaign program for weightloss which suggests a general weight loss diet may be relevant to anindividual who generally prefers Mexican Cuisine, but may not berelevant to another individual who prefers Italian Cuisine.

Some email based campaign programs are targeted to a set ofparticipants. However, email is not an effective medium for conductingcampaign programs. Some studies suggest that only 28% of emails arereportedly read within a few minutes of receipt, and therefore fail toprompt the participants to respond. Accordingly, the current campaignprograms are not effective.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an environment in which the textmessage campaign program can be implemented.

FIG. 2 is a sequence diagram illustrating an example of an interactionbetween a user and a server facilitating a campaign program.

FIGS. 3A, 3B and 3C illustrate interaction components of various typesfor generating text messages of a campaign program.

FIG. 4 illustrates a campaign creation tool for creating a campaignprogram.

FIG. 5 illustrates an example of a decision tree (data structure) usedto determine the text messages to be sent to an individual participatingin a diabetes management campaign program.

FIG. 6 is a block diagram of a server for executing a text message basedcampaign program.

FIG. 7 is a block diagram of a campaign creation tool.

FIG. 8 is a flow diagram of a process of conducting a text message basedhealth campaign.

FIG. 9 is a flow diagram of a process for creating a campaign programusing a campaign creation tool.

FIG. 10 is a block diagram of a computer system as may be used toimplement features of some embodiments of the disclosed technology.

DETAILED DESCRIPTION

In this description, references to “an embodiment”, “one embodiment” orthe like, mean that the particular feature, function, structure orcharacteristic being described is included in at least one embodiment ofthe technique introduced here. Occurrences of such phrases in thisspecification do not necessarily all refer to the same embodiment. Onthe other hand, the embodiments described are not necessarily mutuallyexclusive.

Introduced here is technology for a text message based interactivecampaign program (“the technology”). In one embodiment, a user interactswith a server to obtain guidance on performing a set of tasks of thecampaign to achieve a specific goal. For example, the user enrolled in ahealth campaign can obtain information on performing a set of tasks toachieve a particular health goal such as lowering blood sugar level. Theuser can interact with the server via short text messages using a mobilecomputing device, for example, by using short messaging service (SMS)with a smartphone. After the user identifies the health goal, the serverautomatically generates the text messages having information related tothe campaign. The text messages are generated based on the health goalfor the user, and are customized for the user. The campaign program isdesigned as an interactive program where text messages are generatedsuch that at least some of the text messages prompt the user to respond.The server sends the text messages to the user in a sequence. Thesequence also can be customized to the user. That is, the next textmessage in the sequence sent to the user is based on a response receivedfrom the user for a prior text message in the sequence.

In some embodiments, the sequence of the text messages sent to the useris determined by using a decision tree, which logically connects thetext messages of the campaign with other text messages by use of a tree(data) structure. In the decision tree, a particular interactive textmessage is connected to one or more other text messages that follow theparticular text message. Only one of the text messages is identified asthe next message to be sent based on one or more criteria. In someembodiments, if the particular message is a message that requires aresponse from the user, the next message is determined depending uponthe most recent response received from the user. In this manner, thetext messages sent to the user are customized for the user. For example,in a health campaign program for managing diabetes, text messages sentto a diabetic individual can be customized based on the blood sugarlevel of the individual at a particular day and time. The campaignprogram can send a text message asking the user to provide a reading ofthe individual's blood sugar. The campaign program can send a textmessage suggesting a next step based on the blood sugar level receivedfrom the user. For example, if the blood sugar level received from theindividual is in a first range, then the campaign program can send atext message reminding the individual to take an insulin shot. If theblood sugar level is in a second range, then the campaign program cansend a text message acknowledging the individual and asking theindividual to continue to control the dietary habits.

In some embodiments, the text messages can also be multimedia messagesand can be sent to the mobile computing device of the user usingmessaging services provided by the wireless telecommunications networksuch as multimedia messaging service (MMS) or the like. The textmessages can also be sent via a computer network such as Internet, forexample, by using a social networking application.

The technology also includes a campaign creation tool that enables auser, such as a campaign provider or a campaign manager, to create thetext messages for a particular campaign. In some embodiments, thecampaign creation tool is a graphical user interface (GUI) tool. Thecampaign creation tool includes an interaction component that can beused by the user to create various types of text messages for thecampaign. For example, an information-only type interaction componentcan be used to generate a text message that provides information to theuser and does not expect a response from the user. A response typeinteraction can be used to generate a text message that prompts aresponse from the user. An open ended type interaction can be used togenerate a text message for which (i) the user may or may not reply and(ii) the response from the user is expected in no particular format. Theuser can create an instance of the interaction component and input theinformation into the instance that has to be sent as a text message tothe user. Various such instances can be created and each of theinstances can be linked to one or more of the instances (e.g., using theGUI) defining the sequence in which the corresponding text messages aresent.

Environment

FIG. 1 is a block diagram illustrating an environment 100 in which thetext message based campaign program can be implemented. The environment100 includes a server 120 that provides a text messaging infrastructurefor sending text messages related to a campaign program to a set ofusers, such as a first user 105 a, a second user 105 b and a third user105 c, participating in the campaign program. The server 120 sends thetext messages to a mobile device associated with the users 105 a-c. Thecampaign program can be a set of tasks to be performed by a user, e.g.,first user 105 a, to achieve a particular goal. For example, a campaignprogram can be a health program, such as a weight loss program, and agoal can be a health goal such as “lose 20 pounds in a month.” Inanother example, the health program can be a program for managingdiabetes, and a goal can be to bring down the blood sugar level to acertain value within a month. In yet another example, a campaign programcan be a finance program, such as a program on saving a percentage ofmonthly income, and the goal can be “saving 10% of salary.”

Continuing with the health program example, the text messages sent bythe server 120 to the first user 105 a can include informational textmessages such as the diet to be followed, exercises to be done, etc. Thetext messages can also include question-answer type text messages thatrequire the first user 105 a to respond to the text messages. Forexample, the question-answer type text message sent to the first user105 a can be “Did you exercise today? Yes/No.” The first user 105 a mayrespond to the question by sending a text message containing “Yes” or“No” as the answer.

The interactive process of exchanging the text messages between thefirst user 105 a and the server 120 can continue for the period of thecampaign program or until the first user 105 a identifies that he hasachieved the goal, for example. In some embodiments, the text messagesare sent to the corresponding mobile devices of the users 105 a-c usinga text messaging service provided by the wireless telecommunicationnetwork 115 of their corresponding mobile devices, via a wirelesstelecommunications network. In some embodiments, the text messages aresent to the corresponding mobile devices of the users 105 a-c usinganother type of computer network 110, such as Internet. For example, thetext messages can be sent to the users 105 a-c over the computer network110 via social networking applications, such as Twitter, Instagram,WhatsApp etc. The users 105 a-c can access the social networkingapplications on their mobile devices to view and/or reply to the textmessage. In some embodiments, the text messages can be sent as emailsand/or as voice messages.

The text messages sent to the users 105 a-c are customized for each ofthe users 105 a-c. In some embodiments, before sending the campaignprogram text messages, the server requests the users 105 a-c to identifytheir goals, such as exercising, saving a percentage of their paycheckfor the month, etc. The server requests the users to set their (1)overall goal, (2) frequency of the goal, or individual sub-goals, (3)scope of the goal, such as the amount of money to spend or save, or thenumber of minutes to walk, etc. (4) reason for achieving the goal, (5)confidence level in meeting the particular goal etc. Based on theresponses, the server 120 will automatically create text messagescustomized for each of the users 105 a-c. In some embodiments, theserver 120 creates text messages customized for a group of users who thecampaign program considers similar. For example, two users havingapproximately the same weight and same eating habits and want to losethe same amount of weight in a given period may be considered to besimilar. In another example, two users who want to save the samepercentage of their paycheck may be considered to be similar. A campaignprovider who creates the campaign program can define the criteria fordetermining similar users.

The text messages are sent to the users in a particular sequence. A nexttext message of the sequence sent to the user is determined based on aresponse received from the user for a previous text message of thesequence. For example, if a text message is a question asking the user,“How many calories did you burn? (A) 50-100, (B) 101-150, (C) 151-200,”the next text message to be sent to the user depends on the responseprovided by the user. Accordingly, the text messages sent to the usersare tailored for the user rather than being generic. Further, the users105 a-c can specify their preferences for receiving the text messages.For example, the users 105 a-c can specify the schedule—day, date, time,frequency, an occurrence of an event, etc. for receiving the textmessages.

The server 120 can support campaign programs in various sectors,including healthcare, education, financial services, politics, etc. Anumber of campaign providers such as a first campaign provider 130 a, asecond campaign provider 130 b and third campaign provider 130 c can usethe server 120 to provide their campaign programs to the users 105 a-c.In some embodiments, the server 120 is managed by an entity differentfrom that of the campaign providers 130 a-c. The campaign providers 130a-c can create their campaign programs and provide them to the server120. The server 120 generates the text messages of the correspondingcampaign programs and sends them to the users 105 a-c. Further, theentity managing the server 120 can also create campaign programs. Insome embodiments, the server 120 enables a campaign program created byone entity be shared with other entities. For example, a financecampaign program created by a second campaign provider 130 b can beshared with a third campaign provider 130 c who provides a real estatecampaign program. This enables the campaign providers to target abroader set of users and/or a relevant group of users.

The server 120 also analyzes various aspects of the campaign programsand generates statistical data. Some examples of statistical data caninclude a response rate (RR), which is a percentage of texts asking foran answer that have been replied; a response speed (RS), which is a timebetween question sent and answered received; a response speed in 5 min(RS-5MIN), which is a percentage of texts asking for an answer repliedwithin 5 minutes of reception; a response speed in 12 hours (RS-12H),which is a percentage of texts asking for an answer replied within 12hours of reception; and a drop-off rate (DR), which is a percentage ofopt-outs replies in the total number of replies received. In someembodiments, the campaign providers can track how their campaignprograms are performing and/or modify certain aspects of the campaignprogram to enhance the performance of the campaign programs based on thestatistical data.

A storage facility 125 is used to store various data for the operationof the server, including user profile data of users 105 a-c, campaignprograms provided by one or more of campaign providers 130 a-c, profiledata of campaign providers 130 a-c, statistical data, etc. In someembodiments, the storage facility 125 is or includes a database.

FIG. 2 is a sequence diagram 200 illustrating an example of aninteraction between a user and a server facilitating a campaign program.The interaction illustrated in the sequence diagram 200 can occur in theenvironment 100 of FIG. 1. Further, consider that the campaign programon which the first user 105 a is interacting with the server 120 is ahealth coaching program for weight loss. In some embodiments, each ofthe text messages sent to the user has a unique purpose, includingimparting knowledge, encouraging a behavior, or to obtain a piece ofdata by the first user 105 a. The text messages sent to the first user105 a is based on the unique circumstances and preferences of the firstuser 105 a. In some embodiments, the text messages mirror the experienceof a live health coaching session. The text messages sent to the firstuser 105 a by the server 120 are sent by the server 120 automatically.

At step 1, the server 120 sends a text message to the mobile computingdevice of the first user 105 a inviting the first user 105 a to enrollfor the health coaching program. The text message can also include otherinformation such as the provider of the health coaching program, etc. Atstep 2, the first user 105 a responds by sending a text messageindicating that the first user 105 a is interested in enrolling for thehealth campaign. The first user 105 a user may indicate his interest inthe response text message in various ways, for example, by including“Yes” in the text message. In another example, first user 105 a can beasked to select one of the choices provided in the text message ofinteraction 1 to indicate his interest. If the first user 105 aindicates that he is not interested, the server 120 may acknowledge thedecision of the first user 105 a and stop sending any messages further.

After the first user 105 a enrolls, at interaction 3, the server 120 cansend a text message having additional information about the healthcoaching program. The text message of step 3 can be an information typeinteraction, which does not require the first user 105 a to respond.

At step 4, the server 120 sends a list of health goals to the first user105 a. For example, the list of health goals can be “(A) Lose 5 poundsin a week, (B) Lose 20 pounds in a month, (C) Low Carb Diet, or (D)Other.” At step 5, the first user 105 a can respond by sending a textmessage having one of the choices.

At step 6, the server 120 sends a text message asking the user toidentify the user preferences. The user preferences can include, forexample, a language in which the first user 105 a likes to receive thetext messages in, a schedule according to which the first user 105 alikes to the receive the text messages, etc. At step 7, the first user105 a responds by sending a text message specifying the userpreferences.

At step 8, the server 120 generates, but does not necessarilyimmediately send, the text messages related to the health coachingprogram for the first user 105 a, based on the health goal selected bythe user and/or other user preferences. The manner of generating thetext messages is described below in greater detail.

At step 9, the server 120 sends the first text message of the healthcoaching program to the first user 105 a. For example, the text messagecan be a question asking the first user 105 a to identify his dietarypreferences. At step 10, the first user 105 a responds by sending a textmessage specifying his (e.g., dietary) preferences. Since the campaignprogram is customized for the user, knowing the preferences of the firstuser 105 a helps to choose subsequent messages to advise the first user105 a, for example, to manage the diet. Accordingly, at step 11, theserver 120 determines the next text message to be sent to the first user105 a based on the preferences specified in the response received fromthe first user 105 a. At step 12, the server sends the next text messageto the first user 105 a. For example, a Spanish-speaking diabetic usercan identify his or her eating habits to align more closely with Mexicancuisine. This will allow the server 120 to, at step 12, send the firstuser 105 a low-carb recipes related to some of the staple foods withinthat demographic, where, for instance, tomato, onion and garlic are thebase for many soups and sauces. On the other hand, if the first user 105a identifies his eating habits as Italian cuisine, other recipes may besent at step 12.

In another example, the server 120 may ask a question on where the firstuser 105 a gets most of the meals—at home, restaurant, communitykitchen, etc. which allows the server 120 to provide strategies forimproving purchasing habits, cooking style and also direct them to localcommunity resources. In another example, the server 120 may also ask aquestion about the favorite meat (e.g., chicken, beef, pork, fish, etc.)of the first user 105 a. This would allow the server 120 to identifysimple, healthy recipes that can help the user cook the foods he or shelikes in a healthier way. Accordingly, the text messages sent to thefirst user 105 a dependent on the responses provided to the previousquestions asked by the server 120, are based on the unique circumstancesand preferences of the first user 105 a, and are therefore customizedfor the first user 105 a.

At step 13, the server 120 determines whether it is time to send thenext text message to the first user 105 a. For example, the server 120may check the user preferences, e.g., a preferred schedule (date, timeetc.) to receive messages, to determine whether it is time to send thenext message. At step 14, the server 120 sends the next text message tothe user. In some embodiments, the next text message can be an openended type interaction, i.e., an interaction to which the first user 105a is not required to respond. At step 15, the first user 105 a (in thisexample) responds by sending a text message including the user'sresponse. At step 16, the server 120 sends the next text message, e.g.,information type message to the first user 105 a. For example, the textmessage sent at step 15 can include information relevant to the healthcoaching program. In some embodiments, the response received from thefirst user 105 a at step 15 may not have a bearing on determining thetext message to be sent at step 16 since the text message of step 14sent to the first user 105 a is an open ended type interaction. That is,the text message of step 16 may be sent to the user regardless ofwhether the first user 105 a responded to text message of step 14, andregardless of what the response from the first user 105 a contained ifthe first user 105 a responded.

The interactions between the first user 105 a and the server 120 cancontinue for a specified period of time, e.g., for the period of thecampaign program defined by the campaign provider, until the first user105 a achieves the health goal, or until the first user 105 a decides toquit the campaign program. In some embodiments, the campaign programencourages a particular behavior in the user when the user performs aset of tasks for an extended period. For example, to achieve a healthgoal such as exercising an hour a day for 3 months, the user may have toperform a set of tasks every day for 3 months which is considered toencourage a particular behavior in the user.

Note that the interactions illustrated in sequence diagram 200 may bealtered in various ways. For example, the order of the interactions maybe rearranged, substeps may be performed in parallel, illustratedinteractions may be omitted; other interactions may be included, etc.For example, the steps 1-5 for setting the health goal may be omittedwhere the first user 105 a specifies the health goal in other ways, suchas via a website of the campaign program or by sending an email to thecampaign provider. In another example, the number of interactions forsetting the health goal may be greater or less than the number ofinteractions depicted in the sequence diagram 200. In yet anotherexample, the step 11 of determining whether to send the next textmessage may be performed before sending any or every text message to thefirst user 105 a. In still another example, the type of text messagessent in the interactions can be different—the text message of step 9 canbe information type text message, the text message of step 12 can beresponse type text message, etc.

In some embodiments, the above interactions of the campaign program canbe created using a campaign creation tool, which is described in furtherdetail with reference to FIG. 4. In some embodiments, the campaigncreation tool 400 is a software application that provides a GUI forcreating campaign programs. The campaign creation tool 400 provides aninteraction component of any of various types, that can be used togenerate the interactions of the server 120 with the first user 105 a.FIGS. 3A, 3B and 3C illustrate interaction components of various typesfor generating text messages of a campaign program. The interactioncomponent represents a type of text message generated by the server 120for the first user 105 a. The interaction component can be of threetypes—(i) “No Answer” type 305 (information-only type): a text messagethat does not require an answer from the first user 105 a, (ii) “Answer”type 350 (response type): a text message that requires an answer fromthe first user 105 a, and (iii) “Open Ended” type 380: a text messagefor which the user may or may not reply and if the user replies, theresponse can be of any format.

Each of the interaction components includes a message section thatstores the wording of the text message to be sent to a user such asfirst user 105 a. Each of the interaction components can include one ormore entry links and one or more exit links. An entry link of aparticular interaction component identifies (or is linked from) a priorinteraction component from which the particular interaction follows inthe sequence of interactions. An exit link of a particular interactioncomponent identifies (or is linked to) a next interaction component thatfollows the particular interaction in the sequence of interactions. Theentry link of some of the interaction components in a campaign programcan be null. For example, an entry link of a first interaction componentof the campaign program can be null. Similarly, the exit link of some ofthe interaction components can be null. For example, an exit link of alast interaction component of the campaign program can be null.

Some the interaction components can also include a scheduling componentthat is used to configure the schedule, e.g., date, time, frequency,etc., for sending the corresponding text message. In some embodiments,if no scheduling is specified, then the text message of thecorresponding interaction component can be sent on a schedule determinedby the campaign program. For example, such non-scheduled interactionscan happen right after the preceding interaction.

Some of the interaction components can also include an acknowledgementsection that stores the wording of the response sent to the user rightafter a response is received from the user. A text message can include aspecified maximum number of characters. In some embodiments, a textmessage includes up to 160 characters. The interaction components canalso include a length indicator that indicates the number of charactersused and/or still available to be used by the wordings of the textmessage.

The text messages can be sent in various languages. In some embodiments,the interaction component stores the wordings of the text message invarious languages. A user creating the campaign program, e.g., acampaign manager or a campaign provider, can input the wordings invarious languages. In some embodiments, the campaign manager can inputthe wordings of the text message in one language, e.g., English, and theinteraction component automatically translates the wordings into otherlanguages. The campaign manager may further edit the translated wordingsif preferred. In some embodiments, the interaction component stores thewordings of the text message in one language, e.g., English, and thewordings are automatically translated into a language preferred by thefirst user 105 a when the text messages are sent to the first user 105a.

FIG. 3A illustrates an information-only type interaction component 305.The information-only type interaction component 305 includes a typeidentifier 335 that identifies the type of the interaction component.The information-only type interaction component 305 includes a firstmessage section 310 that stores the wordings of the text message to besent to a user, e.g., first user 105 a in a first language, e.g.,English. The campaign manager or the campaign provider can input thesewordings into the first message section 310. The information-only typeinteraction component 305 also includes a second message section 315that stores the wordings of the text message in another language, e.g.,Spanish. The information-only type interaction component 305 includes anentry link 320 that specifies the preceding interaction from which theinteraction component 305 follows. The information-only type interactioncomponent 305 includes an exit link 325 that specifies the nextinteraction which follows the interaction component 305. Theinformation-only type interaction component 305 includes a schedulingcomponent 330 that stores the schedule according to which the textmessage is sent to the first user 105 a. The campaign manager or thecampaign provider can input the values of the scheduling component 330based on the preferences of the first user 105 a.

FIG. 3B illustrates a response type interaction component 350. Similarto the information-only type interaction component 305, the responsetype interaction component 350 includes a type identifier 356 thatidentifies the type of the interaction component, a message section 351that stores the wordings of the text message to be sent to the firstuser 105 a, a scheduling component 354 that stores the scheduleaccording to which the text message is sent to the first user 105 a, anentry link 352 that specifies the preceding interaction from which theinteraction component 350 follows.

The text message of interaction component 350 requires the first user105 a to respond to the message, e.g., as a “Yes” or “No.” In someembodiments, the interaction component acknowledges the first user 105 aupon receiving the response from the first user 105 a. The response typeinteraction component 350 includes an acknowledgement section that storethe wordings of the text message for acknowledging the response of thefirst user 105 a. A first acknowledgement section 360 stores thewordings of the text message for acknowledging a “Yes” response from thefirst user 105 a. A second acknowledgement section 365 stores thewordings of the text message for acknowledging a “No” response from thefirst user 105 a.

The response type interaction component 350 includes three exit links: afirst exit link 353 that specifies the next interaction component whichfollows the interaction component 350 regardless of a “Yes” or “No”response from the first user 105 a, a second exit link 354 thatspecifies the next interaction which follows the interaction component305 upon receiving a “Yes” response from the first user 105 a, and athird exit link 355 that specifies the next interaction which followsthe interaction component 305 upon receiving a “No” response from thefirst user 105 a. The campaign provider or the campaign manager candecide the flow of interactions, that is, either to use the first exitlink 353 or the second and third exit links 354 and 355. If the campaignmanager or the campaign provider decides that the next interactionshould not be based on the response from the first user 105 a to theinteraction component 350, the first exit link 353 is used. On the otherhand, if the campaign manager or the campaign provider decides that thenext interaction should be based on the response, the second and thirdexit links 354 and 355 are used.

The interaction component 350 expects to receive a response in the formof “Yes” or “No”. However, various other forms of response can bereceived. For example, the users may be asked reply with (i) a “True” or“False” response, (ii) a user selection of one of multiple choicesprovided in the text message, (iii) a value within a given range, etc.In some embodiments, each of the possible answers to the questionpresented by the text message of the response type interaction component350 can have an associated exit link.

FIG. 3C illustrates an open ended type interaction component 380.Similar to the response type interaction component 350, the open endedtype interaction component 380 includes a type identifier 386 thatidentifies the type of the interaction component, a message section 381that stores the wordings of the text message to be sent to the firstuser 105 a, a scheduling component 385 that stores the scheduleaccording to which the text message is sent to the first user 105 a, anentry link 383 that specifies the preceding interaction component fromwhich the interaction component 380 follows. The open ended typeinteraction component 380 includes an acknowledgement section 382 thatstores the wordings of the text message for acknowledging the responseof the first user 105 a. In some embodiments, the open ended typeinteraction component 380 does not expect the response to be in anyparticular format.

The open ended type interaction component 380 includes an exit link 384that specifies the next interaction component which follows theinteraction component 380. In some embodiments, the exit link 384 may belinked to another interaction component based on the response receivedfrom the first user 105 a contains. In some embodiments, the exit link384 may be linked to another interaction component regardless of whatthe response received from the first user 105 a contains.

FIG. 4 is a block diagram illustrating a campaign creation tool 400 forcreating a campaign program. In some embodiments, the campaign creationtool 400 can be used to generate campaign programs that can beimplemented in the environment 100 of FIG. 1. The campaign creation tool400 is an interaction component based tool, where a campaign program iscreated by generating various interaction components 410 of varioustypes, such as the interaction components described with reference toFIG. 3, and linking the interaction components 410 in a sequence. Auser, such as a campaign manager or a campaign provider, who conductsthe campaign program may use the campaign creation tool 400 to createthe campaign program.

In some embodiments, the campaign creation tool 400 provides a GUI. Thecampaign creation tool 400 includes a canvas 405 where the interactioncomponents 410 can be created and linked to each other in a sequence.The campaign manager can create an interaction component by usinginteraction component creation tool 450. For example, when the campaignmanager selects the interaction component creation tool 450 aninteraction component, e.g., interaction component 415, is added in thecanvas 405. After adding the interaction component 415, the campaignmanager may input various data into the interaction component 415, asdescribed with reference to FIG. 3. For example, the campaign managermay input data, including a wording of the specific message to be sentas a text message, a schedule of the text message, an entry link thatspecifies an interaction component that precedes the interactioncomponent 415, which is null for interaction component 415 since it isthe first interaction component of the campaign program, an exit linkthat specifies interaction component 420 as the next interactioncomponent of the sequence which follows the interaction component 415,etc.

The campaign program manager can create various such interactioncomponents 410 for various messages to be sent to the user, such asfirst user 105 a, participating in the campaign program. In someembodiments, the interaction components 410 represent a complete set oftext messages of the campaign program. However, the specific textmessages that is sent to the first user 105 a depends on the responsesreceived from the first user 105 a. Further, in some embodiments, theinteraction components 410 can also include auxiliary messages that arenot directly related to the campaign program. The auxiliary messages caninclude (a) an unrequested response message—a text message sent to thefirst user 105 a when the server 120 receives an unexpected responsefrom the first user 105 a, (b) opt out message—a text message to informthe first user 105 a how to opt out from the campaign program, (c) optout acknowledgement message—a text message to inform the first user 105a that the first user 105 a has successfully opted out, (d) opt inacknowledgement message—a text message to inform the first user 105 athat the first user 105 a has successfully opted in, etc.

After creating the interaction components 410, the campaign manager maylink the interaction components 410 to one another in a sequenceaccording to which the text messages are to be sent to the first user105 a. The linking of interaction components 410 in a sequence forms adecision tree which is used in determining the next interactioncomponent, or a text message corresponding to the next interactioncomponent, that follows the current interaction component. The linkingincludes connecting the exit link of one interaction component to anentry link of the other interaction component in the canvas 405. In someembodiments, an interaction component can be represented as a datastructure, e.g., a data object, in the server 120, and the text message,entry and exit links, scheduling component, interaction component type,etc. of the interaction component can be represented as attributes ofthe object. The object can have methods to operate on these attributesto set or get values of the attributes. For example, when an exit linkof a first interaction component is linked to an entry link of a secondinteraction component in the GUI, the exit link attribute of the objectcorresponding to first interaction component can be updated to containthe name of the object corresponding to the second interaction componentas the attribute value. Similarly, the entry link attribute of theobject corresponding to second interaction component can be updated tocontain the name of the object corresponding to the first interactioncomponent as the attribute value.

Recall from FIG. 3B that an interaction component can have multiple exitlinks, one for each possible answer to the question presented by thetext message of the interaction component. For example, the interactioncomponent 420 has three exit links, a first exit link connected to anentry link of interaction component 425, a second exit link connected toan entry link of interaction component 430, and a third exit linkconnected to an entry link of interaction component 435. The linking ofthe interaction component 420 to three different interaction componentsindicates that if the response from the first user 105 a to the questionposted by the text message of interaction component 420 includes a firstanswer, the next text message to be sent to the first user 105 a is atext message corresponding to the interaction component 425. Similarly,if the response includes a second answer or third answer, the next textmessage to be sent to the first user 105 a is a text messagecorresponding to the interaction component 430 or 435, respectively.

In some embodiments, more than one interaction component may be linkedto a particular interaction component. This can mean that the particularcomponent appears in more than one sequence. In the GUI, more than oneinteraction component may be linked to the particular interactioncomponent by connecting the exit links of the one or more interactioncomponents to an entry link of the particular interaction component. Forexample, the exit links of interaction components 430 and 435 areconnected to an entry link of interaction component 440.

In some embodiments, the exit link of the interaction component may benull, that is, the interaction component may not be connected to anyinteraction components further in the sequence. For example, a lastinteraction component in the campaign program such as interactioncomponent 440 may not be further connected to other interactioncomponents. The GUI allows the interaction components 410 to be movedaround in the canvas 405, and to link or unlink the interactioncomponents 410 with one another.

The decision tree formed by linking various components enables theserver 120 to determine the next text message to be sent to the user.Further, since different users can respond with different answers, thedecision tree helps in determining the text messages that are morerelevant to the particular user and therefore, facilitates customizingthe text messages for a particular user.

The campaign creation tool 400 performs a number of validations on theinteraction components 410. In some embodiments, the validationsperformed can depend on the type of the interaction component. In someembodiments, the interaction components 410 added to the canvas 400 isconsidered to be valid if: (a) the linkage entry option for eachinteraction component has been linked (except for the first one whichdoes not need entry linkage); (b) if an interaction component hasdifferent exit options based on the user's response, all of them arelinked or none of them are linked, and (c) the linkage flow betweeninteraction components is compliant with the schedule set in theinteraction components, e.g., an interaction component set for day 4 at5 pm cannot precede an interaction set for day 4 at 3 pm, etc.

After the campaign program is validated, the campaign creation tool 400allows the campaign manager to store the campaign program and send it tothe server 120 for deployment. In some embodiments, the campaigncreation tool 400 generates an executable code for the campaign programin a format that can be executed by the server 120.

Further, the campaign creation tool 400 can be a web-based tool that canbe accessed via a web browser, or can be an application that can beaccessed on a computing device, including a laptop, a desktop, a mobilephone, a smartphone, a tablet PC, etc. In some embodiments, the campaigncreation tool 400 can be accessed on the computing device by executing aset of binary code representing the campaign creation tool 400.

FIG. 5 illustrates an example of a decision tree (data structure) 500that can be used to determine the sequence of text messages to be sentto an individual participating in a diabetes management campaignprogram. In some embodiments, the decision tree 500 can be created bylinking various interaction components corresponding to the messages tobe sent to an individual participating in the diabetes managementcampaign program in the campaign creation tool 400, e.g., as describedwith reference to FIG. 4. The decision tree 500 can be a portion of alarger decision tree that can be generated for the diabetes managementcampaign program. In some embodiments, the decision tree 500 can beemployed in the environment 100 for sending text messages to the users105 a-c regarding the diabetes management campaign program by the server120.

At node 505, the server 120 sends a text message reminding a user, e.g.,first user 105 a, to take an insulin shot. After a certain period, e.g.,based on the preferred schedule by the first user 105 a to receive thenext message, at node 510, the server 120 sends a text message askingthe first user 105 a whether the first user 105 a has taken the insulinshot. The text message prompts the first user 105 a to respond with a“Yes” or “No.”

If the first user 105 a responds with a “Yes,” the server 120 determinesfrom the decision tree 500 that a text message corresponding to node 515is to be sent to the first user 105 a. For example, the text messagecorresponding to the node 515 can be a text message asking the firstuser 105 a to report his blood sugar level. In some embodiments, theserver 120 can present certain sample sugar level ranges in the textmessage from which the first user 105 a can choose a range correspondingto the first user's 105 a blood sugar level and respond with the chosenrange as a text message. In some embodiments, the first user 105 a cansend the actual reading of the sugar level in the text message.

The response to a text message corresponding to the node 515 can haveone of three possible answers. The server 120 sends the next textmessage, e.g., a text message corresponding to one of the three nodes520, 525 and 530 based on the answer in the received response. Forexample, upon receiving a response having the blood sugar level of thefirst user 105 a, the server 120 determines a range to which the firstuser's 105 a blood sugar level corresponds. If the blood sugar levelcorresponds to a first range, at node 520, the server 120 sends a textmessage, for example, acknowledging the first user's 105 a effort inmaintaining his blood sugar level. If the blood sugar level correspondsto a second range, at node 525, the server 120 sends a text message, forexample, recommending the first user 105 a to control his diet in orderto maintain the blood sugar level. If the blood sugar level correspondsto a third range, at node 530, the server 120 sends a text message, forexample, recommending the first user 105 a to visit a doctor to getadditional treatments for controlling the blood sugar level.

Referring back to node 510, if the first user 105 a responds with a“No,” the server 120 determines from the decision tree 500 that a textmessage corresponding to node 550 is to be sent to the first user 105 a.For example, the text message corresponding to the node 550 can be atext message asking the first user 105 a if the first user 105 a is outof insulin. The response to a text message corresponding to node 550 canhave one of two possible answers. The server 120 sends the next textmessage, e.g., a text message corresponding to one of the two nodes 555and 560, based on the answer in the received response. For example, ifthe response from the first user 105 a is a “Yes”, at node 555, theserver 120 sends a text message asking whether the first user 105 awishes to place an order to refill his insulin shots. If the response isa “No,” at node 560, the server 120 sends a text message reminding thefirst user 105 a to take the insulin shot.

Referring back to node 555, the response to a text message correspondingto node 555 can have one of two possible answers. The server 120 sendsthe next text message, e.g., a text message corresponding to one of thetwo nodes 565 and 570, based on the answer in the received response. Forexample, if the response is a “Yes,” the server 120 sends the next textmessage asking the user to contact the pharmacy to place a refill order.If the response is a “No,” the server 120 sends the next text messageasking the first user 105 a to buy the insulin shot. Accordingly, thedecision tree 500 enables the server 120 to determine a sequence of thetext messages to be sent to a user participating in the diabetesmanagement campaign program. Further, the decision tree 500 allows thetext messages to be sent to the users be customized to the user (or agroup of similar users) based on the responses received from the user.

As described above, the campaign program is designed as an interactiveprogram where a sequence of text messages sent to the user arecustomized to the user. That is, the next text message in the sequencesent to the user is based on a response received from the user for aprior text message in the sequence. In some embodiments, the participantcan initiate a particular sequence by sending a particular message tothe server 120. The campaign program can have certain keywords, e.g.,“HELP,” “EXIT,” that when sent by the participant in a message triggersa specific sequence that otherwise may not occur in the campaign programor that may occur at a different time or in a different portion of thecurrent sequence. For example, in the above diabetes management campaignprogram, consider that the participant is at node 510, where theparticipant is expect to respond with a “Yes” or “No” to the question“Insulin shot taken?” If the participant sends a “Yes” or “No,” the nextstep in the sequence can be node 515 or 550. However, if the user sendsthe keyword “EXIT,” the message can cause the server 120 to send adifferent sequence of messages other than node 515 or 550, e.g., amessage acknowledging participant's intention to quit, a message askingthe reason to quit, etc. Accordingly, the sequence of messages exchangedbetween the server 120 and the participant can also be based on certainkeywords in the message sent by the user.

In some embodiments, the sequence of the text messages sent to the useris also determined based on other data, such as clinical data,demographic data, participant's profile data. For example, clinical datacan include health related data of a participant such as blood sugarlevel; demographic data can include or be based on age, gender,ethnicity, etc. of a number of participants; participant's profile datacan include a particular participant's age, gender, lifestyle habits,etc. Such other data may be obtained from any of various sources, e.g.,medical institutions, doctors, patients, participants, or otherthird-parties who provide such data.

The campaign manager can create different interaction sequences for acampaign program based on the above data, and store them as differentsequences of the campaign in the storage facility 125. For example, forthe above diabetes management campaign program, the campaign manager cancreate a first interaction sequence for male participants and a secondinteraction sequence for female participants. In another example, thecampaign manager can create different interaction sequences for groupsof participants having different diets. In yet another example, thecampaign manager can create different interaction sequences forparticipants of different age groups, different ethnicities, differentlifestyle habits, e.g., athletes, etc.

The campaign manager can use the campaign creation tool 400 to createthe different sequences as described at least with reference to FIG. 4.At least some of the interaction components that make up a particularmessage sequence can be different for two different interactionsequences of a campaign program. The different interaction sequences canbe stored as separate interaction sequences of the campaign program inthe storage facility 125.

In some embodiments, the storage facility 125 provides a library ofinteraction sequences. The campaign manager can search the library forone or more interaction sequences, select one of them and use theselected interaction sequence for conducting the campaign. In someembodiments, after selecting a particular interaction sequence from thesearch results, the campaign manager can further customize theinteraction sequence to suit the needs of a specific campaign program.For example, the campaign manager can create an interaction sequence forparticipants with vegan diet by customizing an existing interactionsequence generated for participants with vegetarian diet. Thecustomizing can include any of adding an interaction component, such asthe interaction components of FIG. 4, removing an interaction component,changing the message of the interaction component, changing the entrylink of an interaction component, changing the exit link of aninteraction component, etc.

The campaign creation tool 400 allows the campaign manager to search thelibrary for one or more interaction sequences based on various searchcriteria, such as clinical data, demographic data, e.g., a particularage group, a particular ethnic group, particular blood sugar level,gender of participants etc. The campaign manager can also customize aparticular interaction sequence using the campaign creation tool.

FIG. 6 illustrates a block diagram 600 of a server for executing a textmessage based campaign program. The server 120 facilitates sending textmessages related to a campaign program to a set of users 105 a-c. Theserver 120 includes a campaign invitation module 605 that sends textmessages to the users 105 a-c inviting them to enroll for a particularcampaign program. In some embodiments, the invitation text messages maybe sent to all users 105 a-c in a batch, e.g., as a group text message.The invitation text messages may be sent to mobile devices associatedwith the users 105 a-c. An example of a mobile device can include amobile phone, a smartphone, a tablet PC, a laptop, etc.

The campaign invitation module 605 also receives the responses to theinvitations from the users 105 a-c. The campaign invitation module 605may identify that some of the users 105 a-c are willing to enroll, somedo not want to enroll and some of them have not responded to theinvitations. The campaign invitation module 605 identifies the responsesand processes them accordingly. Further, the campaign invitation module605 can also send welcome messages to the users 105 a-c that haveenrolled, and can also send more details about the campaign program.

The server 120 includes a goal setting module 610 that exchanges textmessages with the users 105 a-c for identifying the goals the users 105a-c want to achieve as part of the campaign program. In someembodiments, the goal setting module 610 can also interact with theusers 105 a-c to set their goals via emails or website of the campaignprogram.

The user customization module 615 is configured to receive userpreferences from the users 105 a-c. The user preferences can include aschedule, e.g., a particular day and time, at which the users prefer toreceive the text messages, frequency, etc.

The campaign generation module 620 generates the text messages of thecampaign program for the users 105 a-c based on their user preferencesand their respective goals. In some embodiments, the text messages canbe customized for a group of users who are considered to be similar bythe campaign program. The text messages can be of various types asdescribed at least with reference to FIGS. 2 and 3.

The campaign messaging module 625 sends the text messages of thecampaign program to the users 105 a-c in a particular sequence. For thetext messages which require an answer from a user, e.g., first user 105a, the campaign messaging module 625 ensures that a next text message isnot sent until the first user 105 a responds to the text message. Uponreceiving the response from the first user 105 a, the campaign messagingmodule 625 analyzes the response, identifies the next text message inthe sequence to be sent to the first user 105 a based on the responseand using the decision tree of the campaign program, as described atleast with reference to FIG. 4, and sends the next text message. Thecampaign message module 625 sends the text messages to the users 105 a-cbased on the schedule preferred by the users 105 a-c.

The interaction between the campaign messaging module 625 and the firstuser 105 a continues for a certain period, e.g., until the campaignprogram ends, the first 105 a achieves the goal, the first 105 a optsout, etc.

The server 120 also includes analytics module 630 that generates variousstatistical data for the campaign programs, including a response rate(RR), a response speed (RS), a response speed in 6 min (RS-5MIN), adrop-off rate (DR), etc. The server 120 includes a report distributionmodule 635 that generates a report of the statistical data for aparticular campaign program and sends the report to the campaign manageror provider of the particular campaign program. In some embodiments, thecampaign providers can track how their campaign programs are performingand/or modify certain aspects of the campaign program to enhance theperformance of the campaign programs based on the statistical data.

FIG. 7 is a block diagram 700 illustrating a campaign creation tool 400for generating a campaign program. The campaign creation tool 400includes a GUI presentation module 710 that renders or presents a GUI ofthe campaign creation tool 400 at a display of a computer system. Thecampaign creation tool 400 is an interaction component based tool, wherea campaign program is created by generating various interactioncomponents of various types, such as the interaction componentsdescribed with reference to FIG. 3, and linking the interactioncomponents in a sequence.

The interaction component generation module 715 is used to generate theinteraction components. The GUI includes a canvas 405 where the variousinteraction components representing a complete set of text messages ofthe campaign program can be created. After creating the interactioncomponents, the interaction components may be linked to one another in asequence using a decision tree creation module 720. The linking ofinteraction components in a sequence forms a decision tree which helpsin determining the next interaction component (rather a text messagecorresponding to the next interaction component) that follows thecurrent interaction component. If a question presented to a user by atext message can have more than one possible answer, the next textmessage to be sent to the user can be different for different answers.Accordingly, the decision tree links a particular interaction componentto one or more interaction components for different answers. When theuser responds to a particular text message, the response is analyzed andthe next message to be sent to the user is determined based on theresponse and using the decision tree. In some embodiments, the linkingincludes connecting the exit link of one interaction component to anentry link of the other interaction component in the canvas 405.

The campaign creation tool 400 also includes a language translationmodule 725 that translates the text messages from a given languages tovarious other languages. For example, the campaign manager can input thewording of the text message in the interaction component in English, thelanguage translation module 725 can translate the wording from Englishto other languages, such as Spanish, Mandarin etc. In some embodiments,the text message may be translated from one language to another languagewhen the text message is sent to a user based on the user's preference.In some embodiments, the text message may be translated from onelanguage to other languages when the wording of the text message isinput by the campaign manager or provider into the interactioncomponent.

FIG. 8 is a flow diagram a process 800 of conducting a text messagebased health campaign. In some embodiments, the process 800 may beimplemented in the environment 100 of FIG. 1, and using the system 600of FIG. 6. At block 805, the campaign invitation module 605 sends a textmessage to a user requesting the user to enroll for a health campaignprogram. In some embodiments, the health campaign program is a set oftasks to be performed by the user to achieve a health goal of the user.The text messages are sent to a mobile computing device associated withthe user. In some embodiments, the text messages are sent to the mobiledevice using a messaging service provided by a wirelesstelecommunications network. The messaging service can be or include SMS,MMS, or another known or convenient messaging service. The text messagescan be short text messages or multimedia messages. In some embodiments,the text messages are sent to the mobile device at least partly via acomputer network, e.g., the Internet, using applications such as asocial networking application.

At block 810, the campaign invitation module 605 receives a responsefrom the user indicating an enrollment of the user for the healthcampaign program. The user sends the response via a text message fromthe user's mobile computing device.

At block 815, the goal setting module 610 receives the health goal forthe user. The health goal may be received in various ways. For example,the goal setting module 610 can exchange a set of text messages with theuser for receiving a health goal for the user. The goal setting module610 can send multiple health goals to the user and then receive theuser's selection of one of the health goals as the user's health goal.In another example, the goal setting module 610 can receive the healthgoal from the user via email or a website of the health campaignprogram.

At block 820, the campaign generation module 620 generates a number oftext messages having information related to the health campaign program.The text messages are customized for the user and generated based on thehealth goal for the user.

At block 825, the campaign messaging module 625 sends the text messagesto the mobile computing device of the user in a particular sequence. Thetext messages that are sent to the user can vary depending on theresponses received from the user. For example, if a response from theuser to a particular question is “Yes,” the next text message sent tothe user can be different from the text message sent to the user if theresponse is “No.” The sequence is determined using a decision tree,which helps in determining the next text message of the sequence to besent to the user based on a response received from the user for the mostrecent text message of the sequence. The interaction between the userand the server 120 continues for a given period, e.g., until the healthcampaign program ends, the user achieves the health goal, the user optsout, etc., and the process 800 returns.

FIG. 9 is a flow diagram of a process 900 for creating a campaignprogram using a campaign creation tool. In some embodiments, the process900 may be implemented in the environment 100 of FIG. 1, and using thesystem 700 of FIG. 7.

At block 905, the GUI presentation module 710 outputs the GUI of thecampaign creation tool 400 at an output device associated with acomputer system, e.g., of a campaign provider or a campaign manager ofthe campaign program. The campaign creation tool 400 is an interactioncomponent based tool, where a campaign program is created by generatingvarious interaction components of various types, such as the interactioncomponents described with reference to FIG. 3, and linking theinteraction components in a sequence. The interaction components storethe messages of the campaign program that are to be presented tomultiple users, e.g., as text messages.

At block 910, the interaction component generation module 715 receivesthe messages related to the campaign program from the campaign manager.The messages can include at least one of information related to thecampaign program or questions requesting a response from the users.

At block 915, the interaction component generation module 715 generatesthe interaction components, e.g., one for each of received messages, andstores the messages in the corresponding interaction components. Each ofthe interaction components has a specific message that presents at leastone of a specific information item regarding the campaign program or aspecific question requesting a response from the users. In someembodiments, the campaign manager can further configure the propertiesof the interaction components, e.g., interaction component type,schedule, etc.

The campaign manager can link the interaction components to one another,e.g., in a sequence the messages have to be sent. At block 920, thedecision tree creation module 720 generates a decision tree based on thelinking of the interaction components, and the process 900 returns. Thedecision tree identifies the sequence in which the text messages of thecorresponding interaction components are to be sent to the users. Insome embodiments, the decision tree identifies, for each of the users, aparticular message in the sequence to be sent to the user for aparticular response received from the corresponding user. In someembodiments, the decision tree helps in keeping the text messages morecustomized and relevant to each of the users participating in thecampaign program.

FIG. 10 is a block diagram of a computer system as may be used toimplement features of some embodiments of the disclosed technology. Thecomputing system 1000 may be used to implement any of the entities,components or services depicted in the examples of FIGS. 1-9 (and anyother components described in this specification). The computing system1000 may include one or more central processing units (“processors”)1005, memory 1010, input/output devices 1025 (e.g., keyboard andpointing devices, display devices), storage devices 1020 (e.g., diskdrives), and network adapters 1030 (e.g., network interfaces) that areconnected to an interconnect 1015. The interconnect 1015 is illustratedas an abstraction that represents any one or more separate physicalbuses, point to point connections, or both connected by appropriatebridges, adapters, or controllers. The interconnect 1015, therefore, mayinclude, for example, a system bus, a Peripheral Component Interconnect(PCI) bus or PCI-Express bus, a HyperTransport or industry standardarchitecture (ISA) bus, a small computer system interface (SCSI) bus, auniversal serial bus (USB), IIC (I2C) bus, or an Institute of Electricaland Electronics Engineers (IEEE) standard 1394 bus, also called“Firewire”.

The memory 1010 and storage devices 1020 are computer-readable storagemedia that may store instructions that implement at least portions ofthe described technology. In addition, the data structures and messagestructures may be stored or transmitted via a data transmission medium,such as a signal on a communications link. Various communications linksmay be used, such as the Internet, a local area network, a wide areanetwork, or a point-to-point dial-up connection. Thus, computer-readablemedia can include computer-readable storage media (e.g.,“non-transitory” media) and computer-readable transmission media.

The instructions stored in memory 1010 can be implemented as softwareand/or firmware to program the processor(s) 1005 to carry out actionsdescribed above. In some embodiments, such software or firmware may beinitially provided to the computing system 1000 by downloading it from aremote system through the computing system 1000 (e.g., via networkadapter 1030).

The technology introduced herein can be implemented by, for example,programmable circuitry (e.g., one or more microprocessors) programmedwith software and/or firmware, or entirely in special-purpose hardwired(non-programmable) circuitry, or in a combination of such forms.Special-purpose hardwired circuitry may be in the form of, for example,one or more ASICs, PLDs, FPGAs, etc.

1. A computer-implemented method, comprising: receiving, by a computingsystem, a health goal for a user enrolled in a campaign program, thecampaign program specifying a set of tasks to be performed by the userto achieve the health goal; generating, by the computing system andbased on the health goal for the user, a plurality of messages havinginformation related to a campaign program, the messages being customizedfor the user; and sending, by the computing system, the messages to amobile computing device of the user in a sequence, at least one of themessages eliciting the user to respond, wherein a next message of thesequence sent to the user is based on a response received from the userfor a previous message of the sequence.
 2. The computer-implementedmethod of claim 1, wherein said sending the messages is done by using amessaging service provided by a wireless telecommunications network ofthe mobile computing device of the user.
 3. The computer-implementedmethod of claim 2, wherein the messaging service provided by thewireless telecommunications network of the mobile computing device ofthe user is a short messaging service, and wherein the messages are textmessages.
 4. The computer-implemented method of claim 1, whereinreceiving the health goal includes: exchanging, by the computing system,a set of messages with the user for receiving the health goal, the setof messages exchanged with the user via at least one of a messagingservice provided by a wireless telecommunications network of the mobilecomputing device of the user or a social networking applicationexecuting at the mobile computing device.
 5. The computer-implementedmethod of claim 4, wherein exchanging the set of messages with the userfor receiving a health goal for the user includes: sending, by thecomputer system, a first message of the set to a plurality of usersrequesting the users to enroll for the campaign program; and receiving,by the computer system, a plurality of responses from correspondingusers via a first set of messages, the first set of messages indicatingan enrollment or a non-enrollment of the subset of users for thecampaign program.
 6. The computer-implemented method of claim 4, whereinexchanging the set of messages with the user for receiving a health goalfor the user includes: sending, by the computer system, for selection bythe user, a plurality of health goals; and receiving, by the computersystem, a user selection of one of the health goals as the health goal.7. The computer-implemented method of claim 1, wherein the messages aresent to the user on a user-defined schedule.
 8. The computer-implementedmethod of claim 1 further comprising: analyzing the campaign program,including responses received from the user, to generate a first data,the first data including at least one of a response rate, a responsespeed, a response speed in a given duration, or a drop-off rate.
 9. Thecomputer-implemented method of claim 8 further comprising: generating,by the computer system, a report having the first data; and sending, bythe computer system, the report to a campaign manager of the campaignprogram.
 10. The computer-implemented method of claim 1, wherein sendingthe messages in a sequence includes identifying the sequence using adecision tree that links the messages of the campaign program definingthe sequence for the user.
 11. The computer-implemented method of claim1, wherein sending the messages in the sequence includes determining thesequence based on at least one of profile data of the user, demographicdata of a plurality of users participating in the campaign program, orclinical data of the plurality of users participating in the campaignprogram.
 12. A computer-implemented method, comprising: exchanging, by aserver, a first set of text messages with a user for receiving a goal tobe achieved by the user in a campaign program, the campaign programincluding a set of tasks to be performed by the user to achieve thegoal, the first set of text messages exchanged between the server and acomputing device associated with the user via a wirelesstelecommunications network of the computing device; generating, by theserver and based on the goal of the user, a second set of text messageshaving information related to the campaign program, the second set oftext messages presenting to the user at least one of information relatedto the campaign program or a question requesting a response from theuser; sending, by the server, a first text message of the second set oftext messages to the user; receiving a response from the user for thefirst text message; and sending, by the server, a second text message ofthe second set of text messages forming a sequence of text messages,wherein a next text message of the sequence sent to the user is based ona response received from the user for a previous text message of thesequence.
 13. The computer-implemented method of claim 12, whereinexchanging a first set of text messages includes: exchanging the firstset of text messages with a plurality of users, and receiving aplurality of goals of the corresponding users.
 14. Thecomputer-implemented method of claim 13, wherein generating a second setof text messages includes generating the second set of text messages foreach of the users and based on the goals of the corresponding users. 15.The computer-implemented method of claim 12, wherein the goal is ahealth goal or a behavior change goal of the user.
 16. Acomputer-implemented method, comprising: outputting, to a campaignmanager at a machine-implemented processing system, a graphical userinterface (GUI) for generating a campaign program, the GUI including aninteraction component creation tool to generate a plurality ofinteraction components of a plurality of types, the interactioncomponents configured to store a plurality of messages that present to aplurality of users at least one of information related to the campaignprogram or questions requesting a response from the users; generating,by the campaign manager and using the interaction component creationtool, the interaction components, each of the interaction componentshaving a specific message that presents at least one of a specificinformation item regarding the campaign program or a specific questionrequesting a response from the users; and linking, by the campaignmanager, the interaction components to form a decision tree, thedecision tree identifying a sequence in which the messages of thecorresponding interaction components are to be sent to the users, thedecision tree identifying, for each of the users, a particular messageof the messages to be sent to the corresponding user for a particularresponse from the corresponding user.
 17. The computer-implementedmethod of claim 16, wherein each of the messages is presented to theusers as a text message on a mobile computing device associated withcorresponding user.
 18. The computer-implemented method of claim 17,wherein the text message is a character string, the character stringhaving a specified maximum length.
 19. The computer-implemented methodof claim 17, wherein the text message is of a plurality of languages.20. The computer-implemented method of claim 16, wherein each of theinteraction components includes an entry link and an exit link, theentry link specifying a previous interaction component of theinteraction components that precedes the corresponding interactioncomponent in the sequence, the exit link specifying a next interactioncomponent of the interaction components which follows the correspondinginteraction component in the sequence.
 21. The computer-implementedmethod of claim 16, wherein the types of the interaction componentincludes a first type of the interaction component that does not requirea response from a user of the users and a second type of the interactioncomponent that requires a response from the user.
 22. Thecomputer-implemented method of claim 21, wherein the response for thesecond type of the interaction component specifies a user selection of aplurality of choices presented to the user in a message of aninteraction component of the second type.
 23. The computer-implementedmethod of claim 22, wherein the interaction component of the second typehas a plurality of exit links, and wherein linking the interactioncomponent includes: linking, for each of the choices, a correspondingexit link to a specific interaction component of the interactioncomponents to be sent to the user in response to receiving a reply fromthe user containing the corresponding choice.
 24. Thecomputer-implemented method of claim 16, wherein the types of theinteraction component includes an open type of the interaction componentthat present messages to the users for which the users can eitherrespond or not.
 25. The computer-implemented method of claim 16, whereineach of the interaction components includes a scheduling parameter toindicate a schedule for sending the corresponding messages to thecorresponding users.
 26. An apparatus, comprising: a processor; a goalsetting module invocable by the processor to exchange a first set ofmessages with a user for receiving a health goal for the user, the firstset of messages exchanged between the computing system and a mobilecomputing device associated with the user; a campaign generation moduleinvocable by the processor to generate, based on the health goal for theuser, a plurality of messages having information related to a campaignprogram, the campaign program specifying a set of tasks to be performedby the user to achieve the health goal, the messages being customizedfor the user; and a campaign messaging module invocable by the processorto send the messages to the mobile computing device of the user in asequence, wherein a next message of the sequence sent to the user isbased on a response received from the user for a previous message of thesequence.
 27. (canceled)
 28. The apparatus of claim 26 furthercomprising: an analytics module invocable by the processor to analyzethe campaign program, including responses received from the user, togenerate a first data, the first data including at least one of aresponse rate, a response speed, a response speed in a given duration,or a drop-off rate.
 29. The apparatus of claim 26 further comprising: agraphical user interface (GUI) presentation module invocable by theprocessor to output, to a campaign manager, a GUI for generating thecampaign program, the GUI including a plurality of interactioncomponents of a plurality of types, the interaction componentsconfigured to store the plurality of messages.
 30. The apparatus ofclaim 31, wherein each of the interaction components includes an entrylink and an exit link, the entry link specifying a previous interactioncomponent of the interaction components precedes the correspondinginteraction component in the sequence, the exit link specifying a nextinstance of the instances which follows the corresponding instance inthe sequence.
 31. The apparatus of claim 29 further comprising: aninteraction component generation module invocable by the processor togenerate the interaction components, each of the interaction componentshaving a specific message that presents at least one of a specificinformation item regarding the campaign program or a specific questionrequesting a response from a plurality of users; and a decision treecreation module invocable by the processor to link the interactioncomponents to form a decision tree, the decision tree identifying asequence in which the messages of the corresponding interactioncomponents are to be sent to the users, the decision tree identifying,for each of the users, a particular message of the messages to be sentto the corresponding user for a particular response from thecorresponding user.